#!/bin/bash

#########################################
# 格式：                                # 
#   该脚本名  *.*.*.1-255               # 
# 例如：                                # 
#   ping.sh 192.168.100.2-100           # 
#                                       # 
# 文件作用：                            # 
#     pings.sh 子进程脚本ping           # 
#     chip.txt 存放存活主机             # 
#     bchip.txt 存放不存在主机          # 
#                                       # 
#                                       # 
#                                       # 
#########################################
echo '
#!/bin/bash
ping -c 1 $1 1>/dev/null 2>/dev/null
if [ $? -eq 0 ];then
       echo "--------------------- 主机存活: $1" >> chip.txt
else
    echo "$1 不存在！" >> bchip.txt
fi
' > pings.sh
 
##设置ping.sh脚本执行权限，删除记录文件方便二次执行#####
#### chip.txt 存活的ip
####bchip.txt 不存在的ip
chmod u+x pings.sh
rm -f chip.txt bchip.txt >/dev/null 2>&1
 
#获得起始地址 IP地址的最后一位
a=`echo $1 | awk -F "." '{print $4}' | awk -F "-" '{print $1}'`  
#获得结束地址 IP地址的最后一位
b=`echo $1 | awk -F "." '{print $4}' | awk -F "-" '{print $2'}`  
echo " "
 
#字符转数字
a1=$((a))
b1=$((b))
 
#循环创建进程同时去ping多台主机
for ((i=a1;i<=b1;i++))
do
    w=`echo $1 | awk -v name=$i -F "." '{print $1 "." $2 "." $3 "." name}'`
    ./pings.sh $w &
done
